E. Всё наоборот

Вася решил запутать маму —– делать дела в обратном порядке. Список его дел теперь хранится в двусвязном списке. Напишите функцию, которая вернёт список в обратном порядке.
Внимание: в этой задаче не нужно считывать входные данные. Нужно написать только функцию, которая принимает на вход голову двусвязного списка и возвращает голову перевёрнутого списка. Ниже дано описание структуры, которая задаёт вершину списка.
Мы рекомендуем воспользоваться заготовками кода для данной задачи, расположенными по ссылке.
Решение надо отправлять только в виде файла с расширением, которое соответствует вашему языку. Иначе даже корректно написанное решение не пройдёт тесты.

Формат ввода<br>
Функция принимает на вход единственный аргумент — голову двусвязного списка.
Длина списка не превосходит 1000 элементов. Список не бывает пустым.
Следуйте следующим правилам при отправке решений:

1.Нужно выбирать компилятор Make.<br>
2.Решение нужно отправлять в виде файла с расширением соответствующем вашему языку программирования.<br>
3.Для Java файл должен называться Solution.java<br>
4.Для остальных языков программирования это имя использовать нельзя (имя «solution» тоже).<br>
5.Для Go укажите package main.<br>

Python:<br>
Если вы пишете на Python, функция должна называться solution и принимать на вход вершину node.
Узел списка описывается следующим классом:

class DoubleConnectedNode:  
    def __init__(self, value, next=None, prev=None):  
        self.value = value  
        self.next = next  
        self.prev = prev

Сигнатура функции:<br>
solution(node: DoubleConnectedNode) -> DoubleConnectedNode

Формат вывода<br>
Функция должна вернуть голову развернутого списка.